package com.sino.operation.peripheral.esc.request.core.body;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sino.operation.peripheral.esc.request.core.param.Core_2157_ListInfo_Param;
import com.sino.operation.peripheral.esc.request.CoreHead;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * TOD
 *
 * @author Administrator
 * date 2021/10/21 0021 0:17
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "变更2157发往核心的标准escBody格式")
public class EscBodyCore2157 {

    @JsonProperty("CORE_HEAD")
    @ApiModelProperty(value = "核心头信息",name = "CORE_HEAD")
    private CoreHead coreHead;

    @JsonProperty("qry_tp")
    @ApiModelProperty(name = "qry_tp",value = "查询类型")
    private String qryTp;

    @JsonProperty("cust_acct_num")
    @ApiModelProperty(name = "cust_acct_num",value = "客户账号")
    private String custAcctNum;

    @JsonProperty("sub_acct_serl_num")
    @ApiModelProperty(name = "sub_acct_serl_num",value = "子账户序号")
    private String subAcctSerlNum;

    @JsonProperty("cust_acct_nm")
    @ApiModelProperty(name = "cust_acct_nm",value = "客户账户名称")
    private String custAcctNm;

    @JsonProperty("cheq_rcpn_flg")
    @ApiModelProperty(name = "cheq_rcpn_flg",value = "领用支票标志")
    private String cheqRcpnFlg;

    @JsonProperty("cust_num")
    @ApiModelProperty(name = "cust_num",value = "客户号 ")
    private String custNum;

    @JsonProperty("anul_inspct_ste")
    @ApiModelProperty(name = "anul_inspct_ste",value = "年检状态")
    private String anulInspctSte;

    @JsonProperty("qry_pswd")
    @ApiModelProperty(name = "qry_pswd",value = "查询密码")
    private String qryPswd;

    @JsonProperty("ccy_code_num")
    @ApiModelProperty(name = "ccy_code_num",value = "货币代号")
    private String ccyCodeNum;

    @JsonProperty("acct_cash_rmtc_flg")
    @ApiModelProperty(name = "acct_cash_rmtc_flg",value = "账户钞汇标志")
    private String acctCashRmtcFlg;

    @JsonProperty("int_pymt_freq")
    @ApiModelProperty(name = "int_pymt_freq",value = "付息频率")
    private String intPymtFreq;

    @JsonProperty("prod_code")
    @ApiModelProperty(name = "prod_code",value = "产品代码")
    private String prodCode;

    @JsonProperty("dept_prd")
    @ApiModelProperty(name = "dept_prd",value = "存期")
    private String deptPrd;

    @JsonProperty("acct_ste")
    @ApiModelProperty(name = "acct_ste",value = "账户状态")
    private String acctSte;

    @JsonProperty("cust_nm")
    @ApiModelProperty(name = "cust_nm",value = "客户名称")
    private String custNm;

    @JsonProperty("rdept_way")
    @ApiModelProperty(name = "rdept_way",value = "转存方式 ")
    private String rdeptWay;

    @JsonProperty("rdept_dept_prd")
    @ApiModelProperty(name = "rdept_dept_prd",value = "转存存期")
    private String rdeptDeptPrd;

    @JsonProperty("corp_dmd_acct_attr")
    @ApiModelProperty(name = "corp_dmd_acct_attr",value = "对公活期户属性")
    private String corpDmdAcctAttr;

    @JsonProperty("acct_attr")
    @ApiModelProperty(name = "acct_attr",value = "账户属性")
    private String acctAttr;

    @JsonProperty("unvsl_wthdg_scope")
    @ApiModelProperty(name = "unvsl_wthdg_scope",value = "通兑范围")
    private String unvslWthdgScope;

    @JsonProperty("asgn_unvsl_wthdg_org_set")
    @ApiModelProperty(name = "asgn_unvsl_wthdg_org_set",value = "指定通兑机构集")
    private String asgnUnvslWthdgOrgSet;

    @JsonProperty("strt_int_caln_way")
    @ApiModelProperty(name = "strt_int_caln_way",value = "起息方式")
    private String strtIntCalnWay;

    @JsonProperty("alw_mod_cash_wthdl_flg")
    @ApiModelProperty(name = "alw_mod_cash_wthdl_flg",value = "控制取现标志修改")
    private String alwModCashWthdlFlg;

    @JsonProperty("cash_wthdl_flg")
    @ApiModelProperty(name = "cash_wthdl_flg",value = "取现标志")
    private String cashWthdlFlg;

    @JsonProperty("alw_mod_enabl_dt")
    @ApiModelProperty(name = "alw_mod_enabl_dt",value = "控制启用日期修改")
    private String alwModEnablDt;

    @JsonProperty("enabl_dt")
    @ApiModelProperty(name = "enabl_dt",value = "启用日期")
    private String enablDt;

    @JsonProperty("form_trfr_flg")
    @ApiModelProperty(name = "form_trfr_flg",value = "形态转移标志")
    private String formTrfrFlg;

    @JsonProperty("basic_acct_open_acct_bank_num")
    @ApiModelProperty(name = "basic_acct_open_acct_bank_num",value = "基本户开户行行号")
    private String basicAcctOpenAcctBankNum;

    @JsonProperty("basic_acct_open_acct_bank_nm")
    @ApiModelProperty(name = "basic_acct_open_acct_bank_nm",value = "基本户开户行行名")
    private String basicAcctOpenAcctBankNm;

    @JsonProperty("basic_acct_acct_num")
    @ApiModelProperty(name = "basic_acct_acct_num",value = "基本户账号")
    private String basicAcctAcctNum;

    @JsonProperty("temp_spec_acct_lics_num")
    @ApiModelProperty(name = "temp_spec_acct_lics_num",value = "临时/专户许可证号")
    private String tempSpecAcctLicsNum;

    @JsonProperty("open_basic_acct_lics_num")
    @ApiModelProperty(name = "open_basic_acct_lics_num",value = "基本户开户许可证号")
    private String openBasicAcctLicsNum;

    @JsonProperty("wthr_fx_rgln_flg")
    @ApiModelProperty(name = "wthr_fx_rgln_flg",value = "是否外汇监管标志")
    private String wthrFxRglnFlg;

    @JsonProperty("fx_chk_flg")
    @ApiModelProperty(name = "fx_chk_flg",value = "外汇核查标志")
    private String fxChkFlg;

    @JsonProperty("fx_cr_acmld_alwc")
    @ApiModelProperty(name = "fx_cr_acmld_alwc",value = "外汇贷方累计限额")
    private BigDecimal fxCrAcmldAlwc;

    @JsonProperty("aprvl_instru_num")
    @ApiModelProperty(name = "aprvl_instru_num",value = "核准件编号")
    private String aprvlInstruNum;

    @JsonProperty("fx_mgmt_acct_charic")
    @ApiModelProperty(name = "fx_mgmt_acct_charic",value = "外管账户性质")
    private String fxMgmtAcctCharic;

    @JsonProperty("sngl_prchbl_cheq_qty")
    @ApiModelProperty(name = "sngl_prchbl_cheq_qty",value = "单次可购支票数量")
    private String snglPrchblCheqQty;

    @JsonProperty("pcnt")
    @ApiModelProperty(name = "pcnt",value = "比例(%)")
    private String pcnt;

    @JsonProperty("acct_blgd_bank_num")
    @ApiModelProperty(name = "acct_blgd_bank_num",value = "账户归属行行号")
    private String acctBlgdBankNum;

    @JsonProperty("acct_chk_flg")
    @ApiModelProperty(name = "acct_chk_flg",value = "账户核查标志")
    private String acctChkFlg;

    @JsonProperty("wthr_rcncl_flg")
    @ApiModelProperty(name = "wthr_rcncl_flg",value = "是否对账标志")
    private String wthrRcnclFlg;

    @JsonProperty("rcncl_scope")
    @ApiModelProperty(name = "rcncl_scope",value = "对账范围")
    private String rcnclScope;

    @JsonProperty("lately_rcncl_dt")
    @ApiModelProperty(name = "lately_rcncl_dt",value = "最近对账日期")
    private String latelyRcnclDt;

    @JsonProperty("int_rate_dept_prd")
    @ApiModelProperty(name = "int_rate_dept_prd",value = "利率存期")
    private String intRateDeptPrd;

    @JsonProperty("int_rate_upd_freq")
    @ApiModelProperty(name = "int_rate_upd_freq",value = "利率更新频率")
    private String intRateUpdFreq;

    @JsonProperty("asgn_drcn")
    @ApiModelProperty(name = "asgn_drcn",value = "指定去向")
    private String asgnDrcn;

    @JsonProperty("drcnl_cust_acct_num")
    @ApiModelProperty(name = "drcnl_cust_acct_num",value = "定向客户账号")
    private String drcnlCustAcctNum;

    @JsonProperty("drcnl_sub_acct_serl_num")
    @ApiModelProperty(name = "drcnl_sub_acct_serl_num",value = "定向子账户序号")
    private String drcnlSubAcctSerlNum;

    @JsonProperty("drcnl_ste")
    @ApiModelProperty(name = "drcnl_ste",value = "定向状态")
    private String drcnlSte;

    @JsonProperty("drcn_rmov_way")
    @ApiModelProperty(name = "drcn_rmov_way",value = "去向解除方式")
    private String drcnRmovWay;

    @JsonProperty("prcpl_int_in_cust_acct_num")
    @ApiModelProperty(name = "prcpl_int_in_cust_acct_num",value = "本/息转入账号")
    private String prcplIntInCustAcctNum;

    @JsonProperty("prcpl_int_in_sub_acct_serl_num")
    @ApiModelProperty(name = "prcpl_int_in_sub_acct_serl_num",value = "本/息入子账序号")
    private String prcplIntInSubAcctSerlNum;

    @JsonProperty("last_anul_inspct_dt")
    @ApiModelProperty(name = "last_anul_inspct_dt",value = "上次年检日期")
    private String lastAnulInspctDt;

    @JsonProperty("listinfo")
    @ApiModelProperty(name = "listinfo",value = "收费标志维护列表信息")
    private List<Core_2157_ListInfo_Param> listInfoParams;

    @JsonProperty("lblty_acct_num")
    @ApiModelProperty(name = "lblty_acct_num",value = "负债账号 ")
    private String lbltyAcctNum;

    @JsonProperty("acct_clasf")
    @ApiModelProperty(name = "acct_clasf",value = "账户分类")
    private String acctClasf;

    @JsonProperty("matu_rdept_amt")
    @ApiModelProperty(name = "matu_rdept_amt",value = "转存金额")
    private BigDecimal matuRdeptAmt;

    @JsonProperty("prod_nm")
    @ApiModelProperty(name = "prod_nm",value = "产品名称")
    private String prodNm;

    @JsonProperty("cash_dept_flg")
    @ApiModelProperty(name = "cash_dept_flg",value = "现金存入标志")
    private String cashDeptFlg;

    @JsonProperty("trfr_dept_flg")
    @ApiModelProperty(name = "trfr_dept_flg",value = "转账存入标志")
    private String trfrDeptFlg;

    @JsonProperty("dept_ctrl_way")
    @ApiModelProperty(name = "dept_ctrl_way",value = "存入控制方式")
    private String deptCtrlWay;

    @JsonProperty("dept_ctrl_meth")
    @ApiModelProperty(name = "dept_ctrl_meth",value = "存入控制方法")
    private String deptCtrlMeth;

    @JsonProperty("dept_amt_ctrl_way")
    @ApiModelProperty(name = "dept_amt_ctrl_way",value = "存入金额控制方式")
    private String deptAmtCtrlWay;

    @JsonProperty("sngl_dept_min_amt")
    @ApiModelProperty(name = "sngl_dept_min_amt",value = "单次存入最小金额")
    private BigDecimal snglDeptMinAmt;

    @JsonProperty("sngl_dept_max_amt")
    @ApiModelProperty(name = "sngl_dept_max_amt",value = "单次存入最大金额")
    private BigDecimal snglDeptMaxAmt;

    @JsonProperty("dept_cnt_ctrl_way")
    @ApiModelProperty(name = "dept_cnt_ctrl_way",value = "存入次数控制方式")
    private String deptCntCtrlWay;

    @JsonProperty("min_dept_cnt")
    @ApiModelProperty(name = "min_dept_cnt",value = "最小存入次数")
    private Long minDeptCnt;

    @JsonProperty("max_dept_cnt")
    @ApiModelProperty(name = "max_dept_cnt",value = "最大存入次数")
    private Long maxDeptCnt;

    @JsonProperty("dept_deal_seq")
    @ApiModelProperty(name = "dept_deal_seq",value = "存入处理顺序 ")
    private String deptDealSeq;

    @JsonProperty("acct_rtan_max_bal")
    @ApiModelProperty(name = "acct_rtan_max_bal",value = "账户留存最大余额")
    private BigDecimal acctRtanMaxBal;

    @JsonProperty("cash_draw_flg")
    @ApiModelProperty(name = "cash_draw_flg",value = "现金支取标志")
    private String cashDrawFlg;

    @JsonProperty("trfr_draw_flg")
    @ApiModelProperty(name = "trfr_draw_flg",value = "转账支取标志")
    private String trfrDrawFlg;

    @JsonProperty("draw_ctrl_way")
    @ApiModelProperty(name = "draw_ctrl_way",value = "支取控制方式")
    private String drawCtrlWay;

    @JsonProperty("draw_ctrl_meth")
    @ApiModelProperty(name = "draw_ctrl_meth",value = "支取控制方法")
    private String drawCtrlMeth;

    @JsonProperty("draw_user_defn_ctrl")
    @ApiModelProperty(name = "draw_user_defn_ctrl",value = "支取自定义控制")
    private String drawUserDefnCtrl;

    @JsonProperty("draw_aptmt_way")
    @ApiModelProperty(name = "draw_aptmt_way",value = "支取预约方式")
    private String drawAptmtWay;

    @JsonProperty("draw_amt_ctrl_way")
    @ApiModelProperty(name = "draw_amt_ctrl_way",value = "支取金额控制方式")
    private String drawAmtCtrlWay;

    @JsonProperty("sngl_draw_min_amt")
    @ApiModelProperty(name = "sngl_draw_min_amt",value = "单次支取最小金额")
    private BigDecimal snglDrawMinAmt;

    @JsonProperty("sngl_draw_max_amt")
    @ApiModelProperty(name = "sngl_draw_max_amt",value = "单次支取最大金额")
    private BigDecimal snglDrawMaxAmt;

    @JsonProperty("draw_cnt_ctrl_way")
    @ApiModelProperty(name = "draw_cnt_ctrl_way",value = "支取次数控制方式")
    private String drawCntCtrlWay;

    @JsonProperty("min_draw_cnt")
    @ApiModelProperty(name = "min_draw_cnt",value = "最小支取次数")
    private String minDrawCnt;

    @JsonProperty("max_draw_cnt")
    @ApiModelProperty(name = "max_draw_cnt",value = "最大支取次数")
    private String maxDrawCnt;

    @JsonProperty("draw_dflt_std")
    @ApiModelProperty(name = "draw_dflt_std",value = "支取违约标准")
    private String drawDfltStd;

    @JsonProperty("draw_dflt_deal_way")
    @ApiModelProperty(name = "draw_dflt_deal_way",value = "支取违约处理方式")
    private String drawDfltDealWay;

    @JsonProperty("prot_way")
    @ApiModelProperty(name = "prot_way",value = "保护性质")
    private String protWay;

    @JsonProperty("draw_prot_seq")
    @ApiModelProperty(name = "draw_prot_seq",value = "支取保护顺序")
    private String drawProtSeq;

    @JsonProperty("acct_rtan_min_bal")
    @ApiModelProperty(name = "acct_rtan_min_bal",value = "账户留存最小余额")
    private BigDecimal acctRtanMinBal;

    @JsonProperty("svc_fee_chrg_way")
    @ApiModelProperty(name = "svc_fee_chrg_way",value = "联机费用批量后收标志")
    private String svcFeeChrgWay;

    @JsonProperty("chrg_freq")
    @ApiModelProperty(name = "chrg_freq",value = "收费频率")
    private String chrgFreq;

    @JsonProperty("slcit_dept_pernl")
    @ApiModelProperty(name = "slcit_dept_pernl",value = "揽存人员")
    private String slcitDeptPernl;

    @JsonProperty("acct_mgr_nm")
    @ApiModelProperty(name = "acct_mgr_nm",value = "账户经理名称")
    private String acctMgrNm;

    @JsonProperty("pswd_catg")
    @ApiModelProperty(name = "pswd_catg",value = "密码种类")
    private String pswdCatg;

    @JsonProperty("acct_chins_shrt_nm")
    @ApiModelProperty(name = "acct_chins_shrt_nm",value = "账户中文简称")
    private String acctChinsShrtNm;

    @JsonProperty("acct_engl_shrt_nm")
    @ApiModelProperty(name = "acct_engl_shrt_nm",value = "账户英文简称")
    private String acctEnglShrtNm;

    @JsonProperty("acct_engl_nm")
    @ApiModelProperty(name = "acct_engl_nm",value = "账户英文名称")
    private String acctEnglNm;

    @JsonProperty("white_list_flg")
    @ApiModelProperty(name = "white_list_flg",value = "白名单标志")
    private String whiteListFlg;

    @JsonProperty("prvns_acct_flg")
    @ApiModelProperty(name = "prvns_acct_flg",value = "备付金账户标志")
    private String prvnsAcctFlg;

    @JsonProperty("prvns_acct_tp")
    @ApiModelProperty(name = "prvns_acct_tp",value = "备付金账户类型")
    private String prvnsAcctTp;

    @JsonProperty("cstd_acct_tp")
    @ApiModelProperty(name = "cstd_acct_tp",value = "托管账户类型")
    private String cstdAcctTp;

    @JsonProperty("cstd_class_acct_flg")
    @ApiModelProperty(name = "cstd_class_acct_flg",value = "托管类账户标志")
    private String cstdClassAcctFlg;

    @JsonProperty("trsry_acct_flg")
    @ApiModelProperty(name = "trsry_acct_flg",value = "财政账户标志")
    private String trsryAcctFlg;

    @JsonProperty("trsry_dept_acct_tp")
    @ApiModelProperty(name = "trsry_dept_acct_tp",value = "财政存款账户类型")
    private String trsryDeptAcctTp;

    @JsonProperty("fta_acct_flg")
    @ApiModelProperty(name = "fta_acct_flg",value = "自贸区账户标志")
    private String ftaAcctFlg;

    @JsonProperty("fta_acct_tp")
    @ApiModelProperty(name = "fta_acct_tp",value = "自贸区账户类型")
    private String ftaAcctTp;

    @JsonProperty("cash_mgmt_sign_flg")
    @ApiModelProperty(name = "cash_mgmt_sign_flg",value = "现金管理签约标志")
    private String cashMgmtSignFlg;

    @JsonProperty("itrbnk_strge_acct_tp")
    @ApiModelProperty(name = "itrbnk_strge_acct_tp",value = "同业存放账户类型")
    private String itrbnkStrgeAcctTp;

    @JsonProperty("remks")
    @ApiModelProperty(name = "remks",value = "备注")
    private String remks;

    @JsonProperty("rgln_acct_flg")
    @ApiModelProperty(name = "rgln_acct_flg",value = "监管账户标志")
    private String rglnAcctFlg;

    @JsonProperty("rgln_acct_tp")
    @ApiModelProperty(name = "rgln_acct_tp",value = "监管账户类型")
    private String rglnAcctTp;

    @JsonProperty("billg_flg")
    @ApiModelProperty(name = "billg_flg",value = "计费标志")
    private String billgFlg;

    @JsonProperty("int_caln_flg")
    @ApiModelProperty(name = "int_caln_flg",value = "计息标志")
    private String intCalnFlg;

    @JsonProperty("pymt_cond")
    @ApiModelProperty(name = "pymt_cond",value = "支付条件 ")
    private String pymtCond;

    @JsonProperty("aprvl_filg_flg")
    @ApiModelProperty(name = "aprvl_filg_flg",value = "核准备案标志 ")
    private String aprvlFilgFlg;

    @JsonProperty("rel_busi_num")
    @ApiModelProperty(name = "rel_busi_num",value = "相关业务编号")
    private String relBusiNum;

    @JsonProperty("cptl_rgln_flg")
    @ApiModelProperty(name = "cptl_rgln_flg",value = "资金监管标志")
    private String cptlRglnFlg;

    @JsonProperty("acct_vld_prd")
    @ApiModelProperty(name = "acct_vld_prd",value = "账户有效期 ")
    private String acctVldPrd;

    @JsonProperty("ctrct_num")
    @ApiModelProperty(name = "ctrct_num",value = "合同编号")
    private String ctrctNum;

    @JsonProperty("secry_flg")
    @ApiModelProperty(name = "secry_flg",value = "保密标志 ")
    private String secryFlg;

    @JsonProperty("pnly_int_code")
    @ApiModelProperty(name = "pnly_int_code",value = "罚息代码")
    private String pnlyIntCode;

    @JsonProperty("pnly_int_flg")
    @ApiModelProperty(name = "pnly_int_flg",value = "罚息标志")
    private String pnlyIntFlg;

    @JsonProperty("int_trfr_in_cust_acct_num")
    @ApiModelProperty(name = "int_trfr_in_cust_acct_num",value = "利息转入客户账号")
    private String intTrfrInCustAcctNum;

    @JsonProperty("int_trfr_in_sub_acct_serl_num")
    @ApiModelProperty(name = "int_trfr_in_sub_acct_serl_num",value = "利息转入子账户序号")
    private String intTrfrInSubAcctSerlNum;

    @JsonProperty("int_trfr_in_acct_nm")
    @ApiModelProperty(name = "int_trfr_in_acct_nm",value = "利息转入账户名称")
    private String intTrfrInAcctNm;
}
